# 使用前请确保本地安装了SQLite数据库
import sqlite3
db = '1/4/sql.db'

def main():
    # 连接到本地 SQLite 数据库文件，如果文件不存在，会创建一个新的
    conn = sqlite3.connect(db)
    # 创建一个游标对象，用于执行 SQL 命令
    cursor = conn.cursor()
    try:
        # 创建表，SQL语句是 CREATE TABLE 表名(字段1 字段1类型，字段2 字段2类型，…) 
        cursor.execute('''CREATE TABLE IF NOT EXISTS users
                        (id INTEGER PRIMARY KEY AUTOINCREMENT,
                        name TEXT NOT NULL,
                        age INTEGER);''')
        # 添加数据，SQL语句是 INSERT INTO 表名(字段值0字段值，…)
        cursor.execute("INSERT INTO users (name, age) VALUES (?,?)", ('王昭东', 30))
        # 可以重复插入多条
        cursor.execute("INSERT INTO users (name, age) VALUES (?,?)", ('王老师', 30))
        # 提交事务，将更改保存到数据库中
        conn.commit()
        # 查询数据，SQL语句是 SELECT 字段名 FROM 表名
        cursor.execute("SELECT * FROM users")
        rows = cursor.fetchall()
        for row in rows:
            print(row)
        # 修改数据，SQL语句是 UPDATE 表名 SET 字段名 = 字段值 WHERE 条件
        cursor.execute("UPDATE users SET age = '200' WHERE name = '王昭东' AND id = 1")
        conn.commit()
        # 刪除数据，SQL语句是 DELETE FROM 表名 WHERE 条件
        # cursor.execute("DELETE FROM users WHERE name = '王昭东'")
        # conn.commit()
    except sqlite3.Error as e:
        print(f"数据库操作出现错误: {e}")
    finally:
        # 关闭游标
        cursor.close()
        # 关闭数据库连接
        conn.close()


if __name__ == "__main__":
    main()